<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        td,
        th {
            padding: 0 20px;
            line-height: 45px;
            border: 1px solid #333;
        }

        table {
            border-collapse: collapse;
        }
    </style>
</head>

<body>

</body>
<script>
    // 1. 有一个数组 list=["a","b","c","d","e","f"] 随机取四个元素,放到新数组中,再拼接形成字符串 (可以重复)
    // var list = ["a", "b", "c", "d", "e", "f"];
    // var arr = [];
    // for (var i = 0; i < 4; i++) {
    //     var j = Math.round(Math.random() * 5);
    //     arr[arr.length] = list[j];
    // }
    // console.log(arr);
    // console.log(arr.join("-"));
    // console.log(j);

    // 1.1  要求随机的四个元素 不重复(死循环法)
    // var list = ["a", "b", "c", "d", "e", "f"];
    // var arr = [];
    // var j;
    // while (true) {
    //     j = Math.round(Math.random() * 5);
    //     if (arr.indexOf(list[j]) == -1) {
    //         arr.push(list[j]);
    //     }
    //     if (arr.length >= 4) break;
    // }
    // console.log(arr);
    // console.log(arr.join("-"));

    // 要求随机的四个元素 不重复(i--法))
    var list = ["a", "b", "c", "d", "e", "f"];
    var arr = [];
    for (var i = 0; i < 4; i++) {
        var j = Math.round(Math.random() * (list.length-1));
        if (arr.indexOf(list[j]) == -1) {
            arr[arr.length] = list[j];
        } else {
            i--;
        }
        console.log(j);
    }
    console.log(arr);
    console.log(arr.join("-"));

    //2. 数组去重
    // 有一个数组 var arr = [ 1, 2, 3, 3, 2, 1, 3, 1, 2, 1, 3, 2] 去除数组中的重复项=> [1,2,3]
    // function uniq(arr) {
    //     var temp = [];
    //     for (var i = 0; i < arr.length; i++) {
    //         if (temp.indexOf(arr[i]) == -1) {
    //             temp.push(arr[i]);
    //         }
    //     }
    //     return temp;
    // }
    // var arr = [1, 2, 3, 3, 2, 1, 3, 1, 2, 1, 3, 2];
    // var re = uniq(arr);
    // console.log(re);


    // 3.  有一个二维数组   
    // var list = [
    //     ["张三", 55, 66, 77], 
    //     ["李四", 67, 89, 90], 
    //     ["王五", 96, 50, 87],
    // ]
    // 根据二维数组  动态生成表格 
    // var list = [
    //     ["张三", 55, 66, 77],
    //     ["李四", 67, 89, 90],
    //     ["王五", 96, 50, 87],
    // ];
    // document.write("<table>");
    // document.write(`<tr>
    //     <th>姓名</th>
    //     <th>语文</th>
    //     <th>数学</th>
    //     <th>外语</th>
    //     <th>总分</th>
    // </tr>`)
    // for (var i = 0; i < list.length; i++) {
    //     document.write("<tr>");
    //     var item = list[i], sum = 0; //把二维数组转成一维数组
    //     for (var j = 0; j < item.length; j++) {
    //         document.write("<td>" + item[j] + "</td>");
            // if (j == 0) continue; //j从1开始相加
    //         sum += item[j];
    //     }
    //     document.write("<td>" + sum + "</td>");
    //     document.write("</tr>");
    // }
    // document.write("</table>");


    // var list = [
    //     ["张三", 55, 66, 77],
    //     ["李四", 67, 89, 90],
    //     ["王五", 96, 50, 87],
    //     ["王六", 96, 50, 97],
    // ];
    // document.write("<table>");
    // document.write(`<tr>
    //     <th>姓名</th>
    //     <th>语文</th>
    //     <th>数学</th>
    //     <th>外语</th>
    //     <th>总分</th>
    // </tr>`)
    // for (var i = 0; i < list.length; i++) {
    //     document.write("<tr>");
    //     var item = list[i];
    //     var sum = 0;
    //     for (var j = 0; j < item.length; j++) {
    //         document.write("<td>" + list[i][j] + "</td>");
    //         if (j == 0) continue;
    //         sum += list[i][j];
    //     }
    //     document.write("<td>" + sum + "</td>");
    //     document.write("</tr>");
    // }
    // document.write("</table>");
</script>

</html>